﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Dados_.DigitalTVDSTableAdapters;
namespace Dados_
{
    public class PacoteSQL : IPacote
    {

        #region IPacote Members

        public int Inserir(PacoteVO pvo)
        {
            T_PacoteTableAdapter pta = new T_PacoteTableAdapter();
            return pta.Insert(pvo.Nome, pvo.Data, pvo.Valor);
        }

        public int Alterar(PacoteVO pvo)
        {
            T_PacoteTableAdapter pta = new T_PacoteTableAdapter();
            return pta.Update(pvo.Nome, pvo.Data, pvo.Valor, pvo.Id);
        }

        public int Excluir(PacoteVO pvo)
        {
            T_PacoteTableAdapter pta = new T_PacoteTableAdapter();
            return pta.Delete(pvo.Id);
        }

        public PacoteVO Consultar(int id)
        {
            PacoteVO pvo = new PacoteVO();
            T_PacoteTableAdapter pta = new T_PacoteTableAdapter();
            DigitalTVDS.T_PacoteDataTable pdt = pta.GetPacotePorId(id);
            pvo.Id = pdt[0].nr_IdPacote;
            pvo.Nome = pdt[0].tx_Nome;
            pvo.Valor = pdt[0].nr_Valor;
            pvo.Data = pdt[0].dt_Data;
            return pvo;
        }
        
        public List<PacoteVO> Consultar(String nome)
        {
            T_PacoteTableAdapter pta = new T_PacoteTableAdapter();
            DigitalTVDS.T_PacoteDataTable pdt = pta.GetTodos();
            List<PacoteVO> lista = new List<PacoteVO>();
            foreach (DigitalTVDS.T_PacoteRow linha in pdt)
            {
                               
                if ((nome==null) || (linha.tx_Nome.IndexOf(nome) == 0 ))
                {

                    PacoteVO pVO = new PacoteVO();
                    pVO.Id = linha.nr_IdPacote;
                    pVO.Nome = linha.tx_Nome;
                    pVO.Valor = linha.nr_Valor;
                    pVO.Data = linha.dt_Data;
                    lista.Add(pVO);
                }
            }
            return lista;

        }
              
        #endregion
    }
}
